home *** CD-ROM | disk | FTP | other *** search
- /*
- File: VideoServices.h
-
- Contains: Video Services Library Interfaces.
-
- Version: Technology: PowerSurge 1.0.2
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __VIDEOSERVICES__
- #define __VIDEOSERVICES__
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
- #ifndef __NAMEREGISTRY__
- #include <NameRegistry.h>
- #endif
- #ifndef __QUICKDRAW__
- #include <Quickdraw.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import on
- #endif
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
-
- enum {
- kTransparentEncoding = 0,
- kInvertingEncoding = 1
- };
-
-
- enum {
- kTransparentEncodingShift = (kTransparentEncoding << 1),
- kTransparentEncodedPixel = (0x01 << kTransparentEncodingShift),
- kInvertingEncodingShift = (kInvertingEncoding << 1),
- kInvertingEncodedPixel = (0x01 << kInvertingEncodingShift)
- };
-
-
- enum {
- kHardwareCursorDescriptorMajorVersion = 0x0001,
- kHardwareCursorDescriptorMinorVersion = 0x0000
- };
-
- typedef UInt32 *UInt32Ptr;
- struct HardwareCursorDescriptorRec {
- UInt16 majorVersion;
- UInt16 minorVersion;
- UInt32 height;
- UInt32 width;
- UInt32 bitDepth;
- UInt32 maskBitDepth;
- UInt32 numColors;
- UInt32Ptr colorEncodings;
- UInt32 flags;
- UInt32 supportedSpecialEncodings;
- UInt32 specialEncodings[16];
- };
- typedef struct HardwareCursorDescriptorRec HardwareCursorDescriptorRec;
-
- typedef HardwareCursorDescriptorRec *HardwareCursorDescriptorPtr;
-
- enum {
- kHardwareCursorInfoMajorVersion = 0x0001,
- kHardwareCursorInfoMinorVersion = 0x0000
- };
-
- struct HardwareCursorInfoRec {
- UInt16 majorVersion; /* Test tool should check for kHardwareCursorInfoMajorVersion1*/
- UInt16 minorVersion; /* Test tool should check for kHardwareCursorInfoMinorVersion1*/
- UInt32 cursorHeight;
- UInt32 cursorWidth;
- CTabPtr colorMap; /* nil or big enough for hardware's max colors*/
- Ptr hardwareCursor;
- UInt32 reserved[6]; /* Test tool should check for 0s*/
- };
- typedef struct HardwareCursorInfoRec HardwareCursorInfoRec;
-
- typedef HardwareCursorInfoRec *HardwareCursorInfoPtr;
-
- enum {
- kVBLInterruptServiceType = 'vbl ',
- kHBLInterruptServiceType = 'hbl ',
- kFrameInterruptServiceType = 'fram'
- };
-
- typedef ResType InterruptServiceType;
- typedef UInt32 InterruptServiceIDType;
- typedef InterruptServiceIDType *InterruptServiceIDPtr;
- #if FOR_SYSTEM7_ONLY
- extern OSErr VSLNewInterruptService(RegEntryID *serviceDevice, InterruptServiceType serviceType, InterruptServiceIDPtr serviceID);
-
- #endif
- #if FOR_SYSTEM8_PREEMPTIVE
- extern OSErr VSLNewInterruptService(RegEntryRef *serviceDevice, InterruptServiceType serviceType, InterruptServiceIDPtr serviceID);
-
- extern OSErr VSLWaitOnInterruptService(InterruptServiceIDType serviceID, Duration timeout);
-
- #endif
- extern OSErr VSLDisposeInterruptService(InterruptServiceIDType serviceID);
-
- extern OSErr VSLDoInterruptService(InterruptServiceIDType serviceID);
-
- extern Boolean VSLPrepareCursorForHardwareCursor(void *cursorRef, HardwareCursorDescriptorPtr hardwareDescriptor, HardwareCursorInfoPtr hwCursorInfo);
-
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #if PRAGMA_IMPORT_SUPPORTED
- #pragma import off
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __VIDEOSERVICES__ */
-
-